/*!
//      
//      \file	k2k_AudioPlayer.h
//      
//      \author	Copyright 2010 Valentina Vuksic <vuksv1@bfh.ch>, Beat Liechti <liecb2@bfh.ch>
//      
//      This program is free software; you can redistribute it and/or modify
//      it under the terms of the GNU General Public License as published by
//      the Free Software Foundation; either version 2 of the License, or
//      (at your option) any later version.
//      
//      This program is distributed in the hope that it will be useful,
//      but WITHOUT ANY WARRANTY; without even the implied warranty of
//      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//      GNU General Public License for more details.
//      
//      You should have received a copy of the GNU General Public License
//      along with this program; if not, write to the Free Software
//      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
//      MA 02110-1301, USA.
//
//		Module for the audio player
//      
//      \brief		CAS-EBX-03 Projektarbeit 
//      			Valentina Vuksic (VUKSV1), Beat Liechti (LIECB2)
//      			Audio play functions for the k2k (Kaffee2000) application
//      \version	1.0
//      \date		2010-05-01
//      \remark		Last Modifications:
//      \remark  	v1.0, VUKSV1/LIECB2, 2010-05-01 Initial release
//
*/

#ifndef __k2k_AudioPlayer__
#define __k2k_AudioPlayer__

#include <stdlib.h>
#include <signal.h>

#include "k2k_Signal.h"

/*!
// k2k_AudioClip_Enum defines the possible audio clips to be played
// \brief k2k_AudioClip enum type
*/
typedef enum k2k_AudioClip_Enum 
{ 
	CLIP_JINGLE, 
	CLIP_RDY1, 
	CLIP_RDY2, 
	CLIP_RSTR, 
	CLIP_ESPR, 
	CLIP_MLKC, 
	CLIP_CLN,
	CLIP_ERROR, 
	CLIP_EXIT, 
} k2k_AudioClip;

/*!
//
// Fork an audio player, play a clip, signal when done
// 
// \param process id
//
// \param audio clip type
// 
// \return nothing
//
*/
void k2k_AudioPlaySignal(k2k_AudioClip clip, k2k_Signal *signal);

/*!
//
// Fork an audio player and play a clip without signaling
// 
// \return nothing
//
*/
void k2k_AudioPlayNoSignal(pid_t *pid, k2k_AudioClip clip);

/*!
//
// Blocking call to an audio player
// 
// \param audio clip type
// 
// \return nothing
//
*/
void k2k_AudioPlayBlocked(k2k_AudioClip clip);

#endif
